<?php if ((!isset($canSave) || $canSave == true) && $session->read('Auth.User.read_only') == false) {
    if (!isset($message)) {
        $message = 'Do you want to save?';
    }
    if (!isset($icon)) {
        $icon = 'save';
    }
    if (!isset($text)) {
        $text = 'Save';
    }

    echo $html->link($text, '', array('class' => "button {$icon}", 'uid' => $uid));
    ?>
    <input type="submit" class="hide" id="s<?php echo $uid; ?>" />
    <script type="text/javascript">

        /**
         *  Callback function ให้เรียกก่อน Save
         *  ให้ return false กลับมาถ้า ไม่ต้อง save (validate ข้อมูลไม่ผ่าน)
         *  หน้าจอไหนที่ต้อง valiadate ข้อมูลก่อนให้ overide method นี้
         */
        $j("a[uid=<?php echo $uid; ?>]").parents('form').beforeSubmit(function() { return true; });

        $j("a[uid=<?php echo $uid; ?>]").bind("click", function(event) {
            var link = $j(this);
            // ถ้า validate ข้อมูลผ่าน
            if ($j(this).parents('form').beforeSubmit() != false) {

                confirmCallBack("<?php echo $message; ?>", function() {
                    
                    // ซ่อนปุ่ม Save ไม่ให้กดได้อีก
                    $j("[uid=<?php echo $uid; ?>]").hide();
                    
                    $j("#s<?php echo $uid; ?>").click();
                    
                });
            }

            event.preventDefault();
        });

    </script>
<?php } ?>